前一天結束在點選某個搜尋到的使用者,今天接著做跟該使用者展開對話吧!
我們將該點選的使用者指定給targetUserData
,然後把這個資料推到已存在的對話紀錄table當中,因此需要新增一個closure使用。
public var completion: (([String: String]) -> (Void))?
然後在昨天新增的地方,接續新對話的開啟,我們加上程式
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
let targetUserData = results[indexPath.row]
dismiss(animated: true, completion: {
self?.completion?(targetUserData)
})
}
那由於剛剛新增了closure,我們要修改didTapComposeButton
程式如下,也就是把closure實作加上去
@objc private func didTapComposeButton() {
let vc = NewConversationViewController()
vc.completion = { [weak self] result in
print("\(result)")
self?.createNewConversation(result: result)
}
let navVC = UINavigationController(rootViewController: vc)
present(navVC, animated: true)
}
而其中的createNewConversation
方法呢,也一起新增
private func createNewConversation(result: [String:String]) {
let vc = ChatViewController()
vc.title = ""
vc.navigationItem.largeTitleDisplayMode = .never
navigationController?.pushViewController(vc, animated: true)
}
其實跟先前mock過的內容一樣,就先放過來!
今天的內容很短...因為一直有bug,但我還在找@@
可能明天先跳回profile picture的部分~也不一定!
若上述內容有誤或可以改進的部分,歡迎留言以及提出任何指教~
謝謝 ヘ| ´ω` |ノ